Systems, methods, and media for identifying degraded video call links

ABSTRACT

Systems, methods, and media for identifying degraded video call links are provided. In some embodiments, systems for identifying degraded video call links are provided, the systems comprising: at least one hardware processor that: calculates network metrics and quality metrics of a video call stream received at a device through a first link and then through a second link; determines whether a network problem is present in the video call stream based on the network metrics; determines whether a quality problem is present in the video call stream based on the quality metrics; and determines that the second link is degraded if both a network problem and a quality problem are determined to be present, and determines that the first link is degraded if a quality problem is determined to be present but a network problem is not determined to be present.

TECHNICAL FIELD

The disclosed subject matter relates to systems, methods, and media foridentifying degraded video call links.

BACKGROUND

Video calling systems are continuing to increase in popularity andusage. Such systems, which previously had been only available tocorporate users, are now available to ordinary consumers. Such systemscan be used to conduct video calls, video conference calls, video chats,etc. (collectively, hereinafter “video calls”) between parties in thesame community or around the world.

Video calling systems typically include two or more endpoints and one ormore links between the endpoints that allow streams of video and/oraudio to be communicated between the endpoints. These endpoints caninclude personal computers, mobile phones, video conferencing systemendpoints, etc. These links can include portions of local area networks,wide area networks, the Internet, etc.

From time to time, while conducting a video call, a stream forming thecall or a portion of the call can suffer quality problems. For example,such quality problems can include excessive packet loss, inadequate bitrates, inadequate resolution, video blockiness, video visual artifacts,video smearing, and/or any other quality problems. These problems in alink can be caused, for example, by the link itself or a device drivingthe link.

In order to correct such problems, it is desirable to be able todetermine where the problems are occurring. For example, when there aretwo or more links between a pair of endpoints involved in a video call,it is desirable to identify one or more of the links (including a devicedriving the link) as causing the problems. In this way, once a degradedlink is identified, steps can be taken to correct any issues on thedegraded link.

SUMMARY

Systems, methods, and media for identifying degraded video call linksare provided. In some embodiments, systems for identifying degradedvideo call links are provided, the systems comprising: at least onehardware processor that: calculates network metrics and quality metricsof a video call stream received at a device through a first link andthen through a second link; determines whether a network problem ispresent in the video call stream based on the network metrics;determines whether a quality problem is present in the video call streambased on the quality metrics; and determines that the second link isdegraded if both a network problem and a quality problem are determinedto be present, and determines that the first link is degraded if aquality problem is determined to be present but a network problem is notdetermined to be present.

In some embodiments, methods for identifying degraded video call linksare provided, the methods comprising: calculating network metrics andquality metrics of a video call stream received at a device through afirst link and then through a second link; determining whether a networkproblem is present in the video call stream based on the networkmetrics; determining whether a quality problem is present in the videocall stream based on the quality metrics; and determining that thesecond link is degraded if both a network problem and a quality problemare determined to be present, and determining that the first link isdegraded if a quality problem is determined to be present but a networkproblem is not determined to be present.

In some embodiments, non-transitory computer-readable media containingcomputer-executable instructions that, when executed by a processor,cause the processor to perform a method for identifying degraded videocall links are provided, the method comprising: calculating networkmetrics and quality metrics of a video call stream received at a devicethrough a first link and then through a second link; determining whethera network problem is present in the video call stream based on thenetwork metrics; determining whether a quality problem is present in thevideo call stream based on the quality metrics; and determining that thesecond link is degraded if both a network problem and a quality problemare determined to be present, and determining that the first link isdegraded if a quality problem is determined to be present but a networkproblem is not determined to be present.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of a video calling system having two links inaccordance with some embodiments.

FIG. 2 is a table for identifying a degraded link in a video call basedon the presence of network problems and/or quality problems at areceiver in accordance with some embodiments.

FIG. 3 is a diagram of a video calling system having four links inaccordance with some embodiments.

FIG. 4 is a table for identifying one or more degraded links in a videocall based on the presence of network problems and/or quality problemsat a network element and a receiver in accordance with some embodiments.

DETAILED DESCRIPTION

Systems, methods, and media for identifying degraded video call linksare provided.

In accordance with some embodiments, mechanisms for locating a degradedlink in a multi-link connection between two parties in a video call areprovided.

In some embodiments, a call between two parties (each using a callendpoint) is routed through one or more network elements. These networkelements can be network-aware routers that may change the video streamusing packet manipulation, Multipoint Conferencing Units (MCUs) thatperform re-encoding of the video stream, video Gateways that performrouting and/or transcoding), logo insertion servers, and/or any othersuitable network elements capable of changing a video stream (e.g., byperforming “transcoding”).

In the case of a problem with the perceived video quality at thereceiving end, it is desirable to be able to locate the cause of theproblem so that the problem can be solved. For example, in the case of avideo call between two endpoints via a first link, a network element,and a second link, it is desirable to be able to determine in which ofthe links (or a device driving one of the links) the problem exists.

For example, FIG. 1 illustrates an example configuration 100 for a videocall. As shown, this configuration can include two endpoints 102 and104, a first link 106, a network element 108, and a second link 110. Inthis configuration, a sender at endpoint 102 can be sending videothrough network element 108 to a receiver at endpoint 104. First link106 connects sender endpoint 102 and network element 108, and secondlink 110 connects network element 108 and receiver endpoint 104.Although endpoint 102 is identified as a “sender” endpoint and endpoint104 is identified as a “receiver” endpoint for the purposes ofillustration, these endpoints can additionally receive video and sendvideo, respectively, in some embodiments.

In order to facilitate determining in which of links 106 and 110 aproblem exists, receiver endpoint 104 can calculate metrics based on areceived video call stream. These metrics can include: network metricsthat relate to the objective quality of the stream (for example, packetloss rate, bit rate, resolution, and/or any other suitable metric) andquality metrics that relate to the perceived quality of the stream (forexample, blockiness, visual artifacts, smearing, and/or any othersuitable metric). These metrics can then be processed by any suitabledevice to determine where a problem exists. For example, in someembodiments, these metrics can be processed by receiver endpoint 104 todetermine the location of any degraded links. As another example, insome embodiments, an external network device 112 can receive thesemetrics via a link 114 and provide an analysis of the metrics todetermine the location of any degraded links.

In accordance with some embodiments, the cause of the problems in thevideo stream can be determined based on the metrics using a table, suchas table 200 of FIG. 2. As shown, if quality problems occur without anynetwork problems between network element 108 and second link 110, thenthe error can be determined to be located in first link 106. If thereare network problems, then the error can be determined to be located insecond link 110.

In accordance with some embodiments, the technique described above canbe expanded to the general case of n links. With n links, there will be(n−1) network elements. The receiver and (n−1)/2 of these networkelements can be used to calculate metrics based on a received video callstream. The receiver, an external network device, a network element,and/or any other suitable device can evaluate these metrics in order todetermine the source of a problem in the received video stream.

For example as illustrated in FIG. 3, in the case of four links 306,320, 322, and 310, there will be three network elements 316, 308, and318, and network element 308 and the receiver can be used to calculatemetrics based on a received video call stream. Each device calculatingmetrics (e.g., network element 308 and receiver 304) can provideinformation regarding the link before it (e.g.: for network element 308,link 320; and for receiver 304, link 310) as well as informationregarding the link before the link before the device (e.g.: for networkelement 308, link 306; and for receiver 304, link 322). The calculatedmetrics can then be provided to an external device 312 via links 314 and315, provided to receiver 304 via link 324, and/or provided to any othersuitable device, and the degraded links identified.

In some embodiments, degraded links can be identified using a table suchas table 400 of FIG. 4. As illustrated, if the stream received atnetwork element 308 is determined based on the metrics to not have anetwork problem but have a quality problem, and if the stream receivedat receiver 304 is determined based on the metrics to also not have anetwork problem, but have a quality problem, then link 1 306 can beidentified as being a degraded link.

Similarly, in accordance with some embodiments, such mechanisms can beextended to make determinations for any number n of links by calculatingmetrics from (n−1)/2 of these links.)

In accordance with some embodiments, an endpoint or endpoints can be anysuitable hardware and/or software for implementing a video conferencingendpoint, and an endpoint can be any suitable device or part of anysuitable device. For example, an endpoint can be a general purposecomputer that is configured using special software to act as a videoconferencing endpoint.

In accordance with some embodiments, endpoints, network elements, and/ornetwork devices can be implemented in one or more general purposedevices such as a computer or a special purpose device such as a client,a server, etc. Any of these general or special purpose devices caninclude any suitable components such as a hardware processor (which canbe a microprocessor, digital signal processor, a controller, etc.),memory, communication interfaces, display controllers, input devices,etc., and can be configured to operate in response to softwareinstructions consistent with the functionality described herein.

In accordance with some embodiments, links can include the Internet (ora portion thereof), a wired network (or a portion thereof), a wirelessnetwork (or a portion thereof), a local area network (or a portionthereof), a wide area network (or a portion thereof), a telephonenetwork (or a portion thereof), a cable network (or a portion thereof),a satellite network (or a portion thereof), a fiber optic network (or aportion thereof), routers, firewalls, servers, proxy servers, gateways,etc.

In some embodiments, any suitable computer readable media can be usedfor storing instructions for performing the processes described herein.For example, in some embodiments, computer readable media can betransitory or non-transitory. For example, non-transitory computerreadable media can include media such as magnetic media (such as harddisks, floppy disks, etc.), optical media (such as compact discs,digital video discs, Blu-ray discs, etc.), semiconductor media (such asflash memory, electrically programmable read only memory (EPROM),electrically erasable programmable read only memory (EEPROM), etc.), anysuitable media that is not fleeting or devoid of any semblance ofpermanence during transmission, and/or any suitable tangible media. Asanother example, transitory computer readable media can include signalson networks, in wires, conductors, optical fibers, circuits, anysuitable media that is fleeting and devoid of any semblance ofpermanence during transmission, and/or any suitable intangible media.

Although the invention has been described and illustrated in theforegoing illustrative embodiments, it is understood that the presentdisclosure has been made only by way of example, and that numerouschanges in the details of implementation of the invention can be madewithout departing from the spirit and scope of the invention, which isonly limited by the claims which follow. Features of the disclosedembodiments can be combined and rearranged in various ways.

What is claimed is:
 1. A system for identifying degraded video calllinks, comprising: at least one hardware processor that: calculatesnetwork metrics and quality metrics of a video call stream received at adevice through a first link and then through a second link; determineswhether a network problem is present in the video call stream based onthe network metrics; determines whether a quality problem is present inthe video call stream based on the quality metrics; and determines thatthe second link is degraded if both a network problem and a qualityproblem are determined to be present, and determines that the first linkis degraded if a quality problem is determined to be present but anetwork problem is not determined to be present.
 2. The system of claim1, wherein the at least one hardware processor comprises two hardwareprocessors, and a first of the two hardware processors calculatesnetwork metrics and quality metrics, and a second of the two hardwareprocessors determines whether the second link or the first link isdegraded.
 3. The system of claim 1, wherein the device is a receiverendpoint.
 4. The system of claim 1, wherein the device is a networkelement.
 5. The system of claim 1, wherein the network metrics measurepacket loss rate.
 6. The system of claim 1, wherein the network metricsmeasure bit rate.
 7. The system of claim 1, wherein the network metricsmeasure resolution.
 8. The system of claim 1, wherein the qualitymetrics measure blockiness.
 9. The system of claim 1, wherein thequality metrics measure visual artifacts.
 10. The system of claim 1,wherein the quality metrics measure smearing.
 11. A method foridentifying degraded video call links, comprising: calculating networkmetrics and quality metrics of a video call stream received at a devicethrough a first link and then through a second link; determining whethera network problem is present in the video call stream based on thenetwork metrics; determining whether a quality problem is present in thevideo call stream based on the quality metrics; and determining that thesecond link is degraded if both a network problem and a quality problemare determined to be present, and determining that the first link isdegraded if a quality problem is determined to be present but a networkproblem is not determined to be present.
 12. The method of claim 11,wherein the device is a receiver endpoint.
 13. The method of claim 11,wherein the device is a network element.
 14. The method of claim 11,wherein the network metrics measure packet loss rate.
 15. The method ofclaim 11, wherein the network metrics measure bit rate.
 16. The methodof claim 11, wherein the network metrics measure resolution.
 17. Themethod of claim 11, wherein the quality metrics measure blockiness. 18.The method of claim 11, wherein the quality metrics measure visualartifacts.
 19. The method of claim 11, wherein the quality metricsmeasure smearing.
 20. A non-transitory computer-readable mediumcontaining computer-executable instructions that, when executed by aprocessor, cause the processor to perform a method for identifyingdegraded video call links, the method comprising: calculating networkmetrics and quality metrics of a video call stream received at a devicethrough a first link and then through a second link; determining whethera network problem is present in the video call stream based on thenetwork metrics; determining whether a quality problem is present in thevideo call stream based on the quality metrics; and determining that thesecond link is degraded if both a network problem and a quality problemare determined to be present, and determining that the first link isdegraded if a quality problem is determined to be present but a networkproblem is not determined to be present.
 21. The non-transitorycomputer-readable medium of claim 20, wherein the device is a receiverendpoint.
 22. The non-transitory computer-readable medium of claim 20,wherein the device is a network element.
 23. The non-transitorycomputer-readable medium of claim 20, wherein the network metricsmeasure packet loss rate.
 24. The non-transitory computer-readablemedium of claim 20, wherein the network metrics measure bit rate. 25.The non-transitory computer-readable medium of claim 20, wherein thenetwork metrics measure resolution.
 26. The non-transitorycomputer-readable medium of claim 20, wherein the quality metricsmeasure blockiness.
 27. The non-transitory computer-readable medium ofclaim 20, wherein the quality metrics measure visual artifacts.
 28. Thenon-transitory computer-readable medium of claim 20, wherein the qualitymetrics measure smearing.